home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-11-10 | 43.0 KB | 1,614 lines | [TEXT/MPS ] |
- {***********************************************************
-
- Created: Tuesday, August 17, 1993 4:37:24 PM
- OCEMail.p
- Pascal Interface to the Macintosh Libraries
-
- Copyright Apple Computer, Inc. 1990-1993
- All rights reserved
-
- ***********************************************************}
-
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes:= 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT OCEMail;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED UsingOCEMail}
- {$SETC UsingOCEMail:= 1}
-
- {$I+}
- {$SETC OCEMailIncludes:= UsingIncludes}
- {$SETC UsingIncludes:= 1}
-
-
- {$IFC UNDEFINED UsingDigitalSignature}
- {$I DigitalSignature.p}
- {$ENDC}
-
- {$IFC UNDEFINED UsingFiles}
- {$I $$Shell(PInterfaces)Files.p}
- {$ENDC}
-
- {$IFC UNDEFINED UsingMemory}
- {$I $$Shell(PInterfaces)Memory.p}
- {$ENDC}
-
- {$IFC UNDEFINED UsingOCE}
- {$I OCE.p}
- {$ENDC}
-
- {$IFC UNDEFINED UsingOCEAuthDir}
- {$I OCEAuthDir.p}
- {$ENDC}
-
- {$IFC UNDEFINED UsingOCEMessaging}
- {$I OCEMessaging.p}
- {$ENDC}
-
- {$IFC UNDEFINED UsingTextEdit}
- {$I $$Shell(PInterfaces)TextEdit.p}
- {$ENDC}
-
- {$IFC UNDEFINED UsingTypes}
- {$I $$Shell(PInterfaces)Types.p}
- {$ENDC}
-
- {$SETC UsingIncludes:= OCEMailIncludes}
-
- {************************************************************************************}
- { Common Definitions }
- {************************************************************************************}
- TYPE
- MailParamBlockHeader = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
- END;
-
- MailMsgRef = LONGINT; { reference to a new or open letter or message }
-
- MSAMQueueRef = LONGINT; { reference to an open msam queue }
- MSAMSlotID = INTEGER; { identifies slots managed by a PMSAM }
-
- MailboxRef = LONGINT; { reference to an active mailbox }
- MailSlotID = INTEGER; { identifies slots within a mailbox }
-
- MailSeqNum = RECORD { identifies a letter in a mailbox }
- slotID: MailSlotID;
- seqNum: LONGINT;
- END;
-
-
- { A MailBuffer is used to describe a buffer used for an IO operation.
- The location of the buffer is pointed to by 'buffer'.
- When reading, the size of the buffer is 'bufferSize'
- and the size of data actually read is 'dataSize'.
- When writing, the size of data to be written is 'bufferSize'
- and the size of data actually written is 'dataSize'.
- }
-
- MailBuffer = RECORD
- bufferSize: LONGINT;
- buffer: Ptr;
- dataSize: LONGINT;
- END;
-
-
- { A MailReply is used to describe a commonly used reply buffer format.
- It contains a count of tuples followed by an array of tuples.
- The format of the tuple itself depends on each particular call.
- }
- MailReply = RECORD
- tupleCount: INTEGER;
- { tuple[1..tupleCount] }
- END;
-
-
- { Shared Memory Communication Area used when Mail Manager sends
- High Level Events to a PMSAM.
- }
- SMCA = RECORD
- smcaLength: INTEGER; { includes size of length field }
- result: OSErr;
- userBytes: LONGINT;
- CASE INTEGER OF
- 1: (slotCID: CreationID); { may not be used in some cases }
- 2: (msgHint: LONGINT);
- END;
-
-
- {************************************************************************************}
- CONST
- { Value of creator and types fields for messages and blocks defined by MailManager }
- kMailAppleMailCreator = 'apml'; { message and letter block creator }
-
- kMailLtrMsgType = 'lttr'; { msg type of letters, reports }
- kMailLtrHdrType = 'lthd'; { contains letter header }
- kMailContentType = 'body'; { contains content of letter }
- kMailEnclosureListType = 'elst'; { contains list of enclosures }
- kMailEnclosureDesktopType = 'edsk'; { contains desktop mgr info for enclosures }
-
- kMailEnclosureFileType = 'asgl'; { contains a file enclosure }
- { format is defined by AppleSingle }
-
- kMailImageBodyType = 'imag'; { contains image of letter }
- { format is struct TPfPgDir - in Printing.h
- TPfPgDir = RECORD
- pageCount: INTEGER; - number of pages in the image.
- iPgPos: LONGINT[1..129]; - iPgPos[n] is the offset from the start of the block
- END;
- - to image of page n.
- - iPgPos[n+1] - iPgPos[n] is the length of page n.
- }
-
- kMailMSAMType = 'gwyi'; { contains msam specific information }
-
- kMailTunnelLtrType = 'tunl'; { used to read a tunnelled message }
- kMailHopInfoType = 'hopi'; { used to read hopInfo for a tunnelled message }
-
- kMailReportType = 'rpti'; { contains report info }
- {
- Reports have the isReport bit set in MailIndications and contain a block of type kMailReport.
- This block has a header, IPMReportBlockHeader,
- followed by an array of elements, each of type IPMRecipientReport
- }
-
- { Various families used by mail or related msgs }
- kMailFamily = 'mail'; { Defines family of "mail" msgs: content, header, etc }
- kMailFamilyFile = 'file'; { Defines family of "direct display" msgs }
-
- {************************************************************************************}
- TYPE
- MailAttributeID = INTEGER;
-
-
- CONST
- { Values of MailAttributeID }
- { Message store attributes - stored in the catalog }
- { Will always be present in a letter and have fixed sizes }
- kMailLetterFlagsBit = 1; { MailLetterFlags }
-
- { Letter attributes - stored in the letter }
- { Will always be present in a letter and have fixed sizes }
- kMailIndicationsBit = 3; { MailIndications }
- kMailMsgTypeBit = 4; { OCECreatorType }
- kMailLetterIDBit = 5; { MailLetterID }
- kMailSendTimeStampBit = 6; { MailTime }
- kMailNestingLevelBit = 7; { MailNestingLevel }
- kMailMsgFamilyBit = 8; { OSType }
-
- { Letter attributes - stored in the letter }
- { May be present in a letter and have fixed sizes }
- kMailReplyIDBit = 9; { MailLetterID }
- kMailConversationIDBit = 10; { MailLetterID }
-
- { Letter attributes - stored in the letter }
- { May be present in a letter and have variable length sizes }
- kMailSubjectBit = 11; { RString }
- kMailFromBit = 12; { MailRecipient }
- kMailToBit = 13; { MailRecipient }
- kMailCcBit = 14; { MailRecipient }
- kMailBccBit = 15; { MailRecipient }
-
- TYPE
- MailAttributeMask = LONGINT;
-
- CONST
- { Values of MailAttributeMask }
- kMailLetterFlagsMask = $00000001; {1<<(kMailLetterFlagsBit-1)}
- kMailIndicationsMask = $00000004; {1<<(kMailIndicationsBit-1)}
- kMailMsgTypeMask = $00000008; {1<<(kMailMsgTypeBit-1)}
- kMailLetterIDMask = $00000010; {1<<(kMailLetterIDBit-1)}
- kMailSendTimeStampMask = $00000020; {1<<(kMailSendTimeStampBit-1)}
- kMailNestingLevelMask = $00000040; {1<<(kMailNestingLevelBit-1)}
- kMailMsgFamilyMask = $00000080; {1<<(kMailMsgFamilyBit-1)}
- kMailReplyIDMask = $00000100; {1<<(kMailReplyIDBit-1)}
- kMailConversationIDMask = $00000200; {1<<(kMailConversationIDBit-1)}
- kMailSubjectMask = $00000400; {1<<(kMailSubjectBit-1)}
- kMailFromMask = $00000800; {1<<(kMailFromBit-1)}
- kMailToMask = $00001000; {1<<(kMailToBit-1)}
- kMailCcMask = $00002000; {1<<(kMailCcBit-1)}
- kMailBccMask = $00004000; {1<<(kMailBccBit-1)}
-
-
-
- TYPE
- MailAttributeBitmap = PACKED RECORD
- reservedA: 0..65535; { 16 bits }
- reservedB: 0..1;
- bcc: 0..1; { BOOLEAN }
- cc: 0..1; { BOOLEAN }
- toRecipient: 0..1; { BOOLEAN }
- from: 0..1; { BOOLEAN }
- subject: 0..1; { BOOLEAN }
- conversationID: 0..1; { BOOLEAN }
- replyID: 0..1; { BOOLEAN }
- msgFamily: 0..1; { BOOLEAN }
- nestingLevel: 0..1; { BOOLEAN }
- sendTimeStamp: 0..1; { BOOLEAN }
- letterID: 0..1; { BOOLEAN }
- msgType: 0..1; { BOOLEAN }
- indications: 0..1; { BOOLEAN }
- reservedC: 0..1; { BOOLEAN }
- letterFlags: 0..1; { BOOLEAN }
- END;
-
-
- {************************************************************************************}
- MailLetterSystemFlags = INTEGER;
-
- CONST
- { Values of MailLetterSystemFlags }
- kMailIsLocalBit = 2; { letter is available locally (either by nature or via cache) }
-
- kMailIsLocalMask = $0004; {1<<kMailIsLocalBit}
-
-
- TYPE
- MailLetterUserFlags = INTEGER;
-
- CONST
- kMailReadBit = 0; { this letter has been opened }
- kMailDontArchiveBit = 1; { this letter is not }
- { to be archived either because }
- { it has already been archived or }
- { it should not be archived. }
- kMailInTrashBit = 2; { this letter is in trash }
-
-
- { Values of MailLetterUserFlags }
- kMailReadMask = $0001; {1<<kMailReadBit}
- kMailDontArchiveMask = $0002; {1<<kMailDontArchiveBit}
- kMailInTrashMask = $0004; {1<<kMailInTrashBit}
-
-
- TYPE
- MailLetterFlags = RECORD
- sysFlags: MailLetterSystemFlags;
- userFlags: MailLetterUserFlags;
- END;
-
-
- MailMaskedLetterFlags = RECORD
- flagMask: MailLetterFlags; { flags that are to be set }
- flagValues: MailLetterFlags; { and their values }
- END;
-
-
- CONST
- kMailOriginalInReportBit = 1;
- kMailNonReceiptReportsBit = 3;
- kMailReceiptReportsBit = 4;
- kMailForwardedBit = 5;
- kMailPriorityBit = 6;
- kMailIsReportWithOriginalBit = 8;
- kMailIsReportBit = 9;
- kMailHasContentBit = 10;
- kMailHasSignatureBit = 11;
- kMailAuthenticatedBit = 12;
- kMailSentBit = 13;
-
- CONST
- { Values of MailIndications }
- kMailSentMask = $00001000; {1<<(kMailSentBit-1)}
- kMailAuthenticatedMask = $00000800; {1<<(kMailAuthenticatedBit-1)}
- kMailHasSignatureMask = $00000400; {1<<(kMailHasSignatureBit-1)}
- kMailHasContentMask = $00000200; {1<<(kMailHasContentBit-1)}
- kMailIsReportMask = $00000100; {1<<(kMailIsReportBit-1)}
- kMailIsReportWithOriginalMask = $00000080; {1<<(kMailIsReportWithOriginalBit-1)}
- kMailPriorityMask = $00000060; {3<<(kMailPriorityBit-1)}
- kMailForwardedMask = $00000010; {1<<(kMailForwardedBit-1)}
- kMailReceiptReportsMask = $00000008; {1<<(kMailReceiptReportsBit-1)}
- kMailNonReceiptReportsMask = $00000004; {1<<(kMailNonReceiptReportsBit-1)}
- kMailOriginalInReportMask = $00000003; {3<<kMailOriginalInReportBit-1)}
-
-
- TYPE
- MailIndications = PACKED RECORD
- reservedB: 0..65535; { 16 bits }
- hasStandardContent: 0..1; { this letter has standard interchange content }
- hasImageContent: 0..1; { this letter has a standard image }
- hasNativeContent: 0..1; { this letter has a main enclosure }
- sent: 0..1; { this letter was sent, not just composed }
- authenticated: 0..1; { this letter was created and transported with authentication }
- hasSignature: 0..1; { this letter was signed with a digital signature }
- hasContent: 0..1; { this letter has content }
- isReport: 0..1; { this letter is really a report }
- isReportWithOriginal: 0..1; { this report contains the original letter }
-
- priority: 0..3; { Bits defined as in IPMPriority }
- { the originator has: }
- forwarded: 0..1; { forwarded this letter }
-
- { the originator requests: }
- receiptReports: 0..1; { delivery reports }
- nonReceiptReports: 0..1; { non-delivery reports }
- originalInReport: 0..3; { original letter to be enclosed in reports }
- END;
-
-
- CONST
- { values of the field originalInReport in MailIndications }
- kMailNoOriginal = 0; { do not enclose original in reports }
- kMailEncloseOnNonReceipt = 3; { enclose original in non-delivery reports }
-
-
- TYPE
- MailLetterID = IPMMsgID;
-
- MailTime = RECORD
- time: UTCTime; { current UTC(GMT) time }
- offset: UTCOffset; { offset from GMT }
- END;
-
-
- MailNestingLevel = INTEGER; { innermost letter has nestingLevel 0 }
-
- MailRecipient = OCERecipient;
-
- {************************************************************************************}
- CONST
- kMailTextSegmentBit = 0;
- kMailPictSegmentBit = 1;
- kMailSoundSegmentBit = 2;
- kMailStyledTextSegmentBit = 3;
- kMailMovieSegmentBit = 4;
-
- TYPE
- MailSegmentMask = INTEGER;
-
- CONST
- { Values of MailSegmentMask }
- kMailTextSegmentMask = $0001; {1<<kMailTextSegmentBit}
- kMailPictSegmentMask = $0002; {1<<kMailPictSegmentBit}
- kMailSoundSegmentMask = $0004; {1<<kMailSoundSegmentBit}
- kMailStyledTextSegmentMask = $0008; {1<<kMailStyledTextSegmentBit}
- kMailMovieSegmentMask = $0010; {1<<kMailMovieSegmentBit}
-
-
- TYPE
- MailSegmentType = INTEGER;
-
- CONST
- { Values of MailSegmentType }
- kMailInvalidSegmentType = 0;
- kMailTextSegmentType = 1;
- kMailPictSegmentType = 2;
- kMailSoundSegmentType = 3;
- kMailStyledTextSegmentType = 4;
- kMailMovieSegmentType = 5;
-
-
-
- {************************************************************************************}
- kMailErrorLogEntryVersion = $101;
- kMailMSAMErrorStringListID = 128; { These 'STR#' resources should be }
- kMailMSAMActionStringListID = 129; { in the PMSAM resource fork }
-
- TYPE
- MailLogErrorType = INTEGER;
-
- CONST
- { Values of MailLogErrorType }
- kMailELECorrectable = 0;
- kMailELEError = 1;
- kMailELEWarning = 2;
- kMailELEInformational = 3;
-
-
- TYPE
- MailLogErrorCode = INTEGER;
-
- CONST
- { Values of MailLogErrorCode }
- { positive codes are indices into }
- { PMSAM defined STRINGs }
- kMailMSAMErrorCode = 0;
- kMailMiscError = -1; { negative codes are OCE defined }
- kMailNoModem = -2; { modem required, but missing }
-
-
- TYPE
- MailErrorLogEntryInfo = RECORD { < 128 bytes }
- version: INTEGER;
- timeOccurred: UTCTime; { do not fill in }
- reportingPMSAM: Str31; { do not fill in }
- reportingMSAMSlot: Str31; { do not fill in }
- errorType: MailLogErrorType;
- errorCode: MailLogErrorCode;
- errorResource: INTEGER; { resources are valid if }
- actionResource: INTEGER; { errorCode = kMailMSAMErrorCode }
- { index starts from 1 }
- filler: LONGINT;
- filler2: INTEGER;
- END;
-
-
- {************************************************************************************}
- MailBlockMode = INTEGER;
-
- CONST
- { Values of MailBlockMode }
- kMailFromStart = 1; { write data from offset calculated from }
- kMailFromLEOB = 2; { start of block, end of block, }
- kMailFromMark = 3; { or from the current mark }
-
-
- TYPE
- MailEnclosureInfo = RECORD
- enclosureName: StringPtr;
- catInfo: CInfoPBPtr;
- comment: StringPtr;
- icon: Ptr;
- END;
-
-
- {************************************************************************************}
- CONST
- kOCESetupLocationNone = 0; { disconnect state }
- kOCESetupLocationMax = 8; { maximum location value }
-
- TYPE
- OCESetupLocation = Byte;
-
- { location state is a bitmask, 0x1=>1st location active,
- 0x2 => 2nd, 0x4 => 3rd, etc.
- }
-
- {
- #define MailLocationMask(locationNumber) (1<<((locationNumber)-1))
- }
-
- TYPE
- MailLocationFlags = Byte;
-
- MailLocationInfo = RECORD
- location: OCESetupLocation;
- active: MailLocationFlags;
- END;
-
- {************************************************************************************}
- { Definitions for Personal MSAMs }
- {************************************************************************************}
-
- CONST
- kMailEPPCMsgVersion = 3;
-
- TYPE
- MailEPPCMsg = RECORD
- version: INTEGER;
- CASE INTEGER OF
- 1: (theSMCA: ^SMCA); { for 'crsl', 'mdsl', 'dlsl', 'sndi', 'msgo', 'admn' }
- 2: (sequenceNumber: LONGINT); { for 'inqu', 'dlom' }
- 3: (locationInfo: MailLocationInfo); { for 'locc' }
- END;
-
-
- CONST
- { Values of OCE defined High Level Event message classes }
- kMailEPPCCreateSlot = 'crsl';
- kMailEPPCModifySlot = 'mdsl';
- kMailEPPCDeleteSlot = 'dlsl';
- kMailEPPCShutDown = 'quit';
- kMailEPPCMailboxOpened = 'mbop';
- kMailEPPCMailboxClosed = 'mbcl';
- kMailEPPCMsgPending = 'msgp';
- kMailEPPCSendImmediate = 'sndi';
- kMailEPPCContinue = 'cont';
- kMailEPPCSchedule = 'sked';
- kMailEPPCAdmin = 'admn';
- kMailEPPCInQUpdate = 'inqu';
- kMailEPPCMsgOpened = 'msgo';
- kMailEPPCDeleteOutQMsg = 'dlom';
- kMailEPPCWakeup = 'wkup';
- kMailEPPCLocationChanged = 'locc';
-
-
- TYPE
- MailTimer = RECORD
- CASE INTEGER OF
- 1: (frequency: LONGINT); { how often to connect (secs) }
- 2: (connectTime: LONGINT); { time since midnight (secs) }
- END;
-
- CONST
- kMailTimerOff = 0; { control is off }
- kMailTimerTime = 1; { specifies connect time (relative to midnight) }
- kMailTimerFrequency = 2; { specifies connect frequency }
-
-
- TYPE
- MailTimerKind = Byte;
-
- MailTimers = PACKED RECORD
- sendTimeKind: MailTimerKind; { either kMailTimerTime or kMailTimerFrequency }
- receiveTimeKind: MailTimerKind; { either kMailTimerTime or kMailTimerFrequency }
- send: MailTimer;
- receive: MailTimer;
- END;
-
-
- MailStandardSlotInfoAttribute = PACKED RECORD
- version: INTEGER;
- active: MailLocationFlags; { active if MailLocationMask(i) is set }
- padByte: Byte;
- sendReceiveTimer: MailTimers;
- END;
-
-
- PMSAMGetMSAMRecordPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- msamCID: CreationID;
- END;
-
-
- PMSAMOpenQueuesPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- inQueueRef: MSAMQueueRef;
- outQueueRef: MSAMQueueRef;
- msamSlotID: MSAMSlotID;
- filler: ARRAY[1..2] OF LONGINT;
- END;
-
-
- PMSAMStatus = INTEGER;
-
- CONST
- { Values of PMSAMStatus }
- kPMSAMStatusPending = 1; { for inQueue and outQueue }
- kPMSAMStatusError = 2; { for inQueue and outQueue }
- kPMSAMStatusSending = 3; { for outQueue only }
- kPMSAMStatusCaching = 4; { for inQueue only }
- kPMSAMStatusSent = 5; { for outQueue only }
-
-
- TYPE
- PMSAMSetStatusPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- queueRef: MSAMQueueRef;
- seqNum: LONGINT;
- msgHint: LONGINT; { for posting cache error,set this to 0 when report outq status }
- status: PMSAMStatus;
- END;
-
-
- PMSAMLogErrorPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- msamSlotID: MSAMSlotID; { 0 for PMSAM errors }
- logEntry: ^MailErrorLogEntryInfo;
- filler: ARRAY[1..2] OF LONGINT;
- END;
-
-
- {**************************************************************************************}
- CONST
- kMailMsgSummaryVersion = 1;
-
- TYPE
- MailMasterData = RECORD
- attrMask: MailAttributeBitmap; { indicates attributes present in MsgSummary }
- messageID: MailLetterID;
- replyID: MailLetterID;
- conversationID: MailLetterID;
- END;
-
- { Values for addressedToMe in MailCoreData record }
- CONST
- kAddressedAs_TO = $1;
- kAddressedAs_CC = $2;
- kAddressedAs_BCC = $4;
-
- TYPE
- MailCoreData = RECORD
- letterFlags: MailLetterFlags;
- messageSize: LONGINT;
- letterIndications: MailIndications;
- messageType: OCECreatorType;
- sendTime: MailTime;
- messageFamily: OSType;
- reserved: Byte;
- addressedToMe: Byte;
- agentInfo: ARRAY[1..6] OF Byte; { 6 bytes of special info [set to zero] }
- { these are variable length and even padded }
- sender: RString32; { recipient's entityName (trunc) }
- subject: RString32; { subject maybe truncated }
- END;
-
- MSAMMsgSummary = RECORD
- version: INTEGER; { following flags are defaulted by Toolbox }
- msgDeleted: BOOLEAN; { true if msg is to be deleted by PMSAM }
- msgUpdated: BOOLEAN; { true if msgSummary was updated by MailManager }
- msgCached: BOOLEAN; { true if msg is in the slot's InQueue }
- {padByte: Byte;}
- masterData: MailMasterData;
- coreData: MailCoreData;
- END;
-
- CONST
- kMailMaxPMSAMMsgSummaryData = 128; { PMSAM can put up to 128 bytes of private msg summary data }
-
- TYPE
- PMSAMCreateMsgSummaryPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- inQueueRef: MSAMQueueRef;
- seqNum: LONGINT; { <- seq of the new message }
- msgSummary: ^MSAMMsgSummary; { attributes and mask filled in }
- buffer: ^MailBuffer; { PMSAM specific data to be appended }
- END;
-
-
- PMSAMPutMsgSummaryPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- inQueueRef: MSAMQueueRef;
- seqNum: LONGINT;
- letterFlags: ^MailMaskedLetterFlags; { if not nil, then set letterFlags }
- buffer: ^MailBuffer; { PMSAM specific data to be overwritten }
- END;
-
-
- PMSAMGetMsgSummaryPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- inQueueRef: MSAMQueueRef;
- seqNum: LONGINT;
- msgSummary: ^MSAMMsgSummary; { if not nil, then read in the msgSummary }
- buffer: ^MailBuffer; { PMSAM specific data to be read }
- msgSummaryOffset: INTEGER; { offset of PMSAM specific data }
- { from start of MsgSummary }
- END;
-
-
- {**************************************************************************************}
- { Definitions for Server MSAMs }
- {************************************************************************************}
-
- SMSAMAdminCode = INTEGER;
-
- CONST
- { Values of SMSAMAdminCode }
- kSMSAMNotifyFwdrSetupChange = 1;
- kSMSAMNotifyFwdrNameChange = 2;
- kSMSAMNotifyFwdrPwdChange = 3;
- kSMSAMGetDynamicFwdrParams = 4;
-
-
- TYPE
- SMSAMSlotChanges = LONGINT;
-
- CONST
- kSMSAMFwdrHomeInternetChangedBit = 0;
- kSMSAMFwdrConnectedToChangedBit = 1;
- kSMSAMFwdrForeignRLIsChangedBit = 2;
- kSMSAMFwdrMnMServerChangedBit = 3;
-
- { Values of SMSAMSlotChanges }
- kSMSAMFwdrEverythingChangedMask = -1;
- kSMSAMFwdrHomeInternetChangedMask = $00000001; {1<<kSMSAMFwdrHomeInternetChangedBit}
- kSMSAMFwdrConnectedToChangedMask = $00000002; {1<<kSMSAMFwdrConnectedToChangedBit}
- kSMSAMFwdrForeignRLIsChangedMask = $00000004; {1<<kSMSAMFwdrForeignRLIsChangedBit}
- kSMSAMFwdrMnMServerChangedMask = $00000008; {1<<kSMSAMFwdrMnMServerChangedBit}
-
-
- TYPE
- SMSAMSetupChange = RECORD { kSMSAMNotifyFwdrSetupChange }
- whatChanged: SMSAMSlotChanges; { --> bitmap of what parameters changed }
- serverHint: AddrBlock; { --> try this ADAP server first }
- END;
-
-
- SMSAMNameChange = RECORD { kSMSAMNotifyFwdrNameChange }
- newName: RString; { --> msams new name }
- serverHint: AddrBlock; { --> try this ADAP server first }
- END;
-
-
- SMSAMPasswordChange = RECORD { kSMSAMNotifyFwdrPasswordChange }
- newPassword: RString; { --> msams new password }
- serverHint: AddrBlock; { --> try this ADAP server first }
- END;
-
-
- SMSAMDynamicParams = RECORD { kSMSAMGetDynamicFwdrParams }
- curDiskUsed: LONGINT; { <-- amount of disk space used by msam }
- curMemoryUsed: LONGINT; { <-- amount of memory used by msam }
- END;
-
-
- SMSAMAdminEPPCRequest = RECORD
- adminCode: SMSAMAdminCode;
- CASE INTEGER OF
- 1: (setupChange: SMSAMSetupChange);
- 2: (nameChange: SMSAMNameChange);
- 3: (passwordChange: SMSAMPasswordChange);
- 4: (dynamicParams: SMSAMDynamicParams);
- END;
-
-
- SMSAMSetupPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- serverMSAM: RecordIDPtr;
- password: RStringPtr;
- gatewayType: OSType;
- gatewayTypeDescription: RStringPtr;
- catalogServerHint: AddrBlock;
- END;
-
-
- SMSAMStartupPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- msamIdentity: AuthIdentity;
- queueRef: MSAMQueueRef;
- END;
-
-
- SMSAMShutdownPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- queueRef: MSAMQueueRef;
- END;
-
-
- {**************************************************************************************}
- { Definitions for reading and writing MSAM Letters }
- {**************************************************************************************}
-
- MSAMEnumeratePB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- queueRef: MSAMQueueRef;
- startSeqNum: LONGINT;
- nextSeqNum: LONGINT;
- buffer: MailBuffer;
- { buffer contains a Mail Reply. Each tuple is a
- MSAMEnumerateInQReply when enumerating the inQueue
- MSAMEnumerateOutQReply when enumerating the outQueue
- }
- END;
-
-
- MSAMEnumerateInQReply = RECORD
- seqNum: LONGINT;
- msgDeleted: BOOLEAN; { true if msg is to be deleted by PMSAM }
- msgUpdated: BOOLEAN; { true if MsgSummary has been updated by TB }
- msgCached: BOOLEAN; { true if msg is in the incoming queue }
- {padByte: Byte;}
- END;
-
-
- MSAMEnumerateOutQReply = PACKED RECORD
- seqNum: LONGINT;
- done: BOOLEAN; { true if all responsible recipients have been processed }
- priority: IPMPriority;
- approxSize: LONGINT;
- tunnelForm: BOOLEAN; { true if this letter has to be tunnelled }
- padByte: Byte;
- nextHop: NetworkSpec; { valid if tunnelForm is true }
- msgType: OCECreatorType; { valid if tunnelForm is true }
- END;
-
-
- MSAMDeletePB = PACKED RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- queueRef: MSAMQueueRef;
- seqNum: LONGINT;
- msgOnly: BOOLEAN; { only valid for PMSAM & inQueue }
- { set true to delete message but not msgSummary }
- padByte: Byte;
- result: OSErr; { only valid for SMSAM & tunnelled messages }
- { Values for result:
- kIPMNoResponsibility
- kIPMNoInformation
- kIPMRecMaybeNotSent
- kIPMRecMaybeSent
- }
- END;
-
- MSAMOpenPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- queueRef: MSAMQueueRef;
- seqNum: LONGINT;
- mailMsgRef: MailMsgRef;
- END;
-
-
- MSAMOpenNestedPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- nestedRef: MailMsgRef;
- END;
-
-
- MSAMClosePB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- END;
-
-
- MSAMGetMsgHeaderPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- selector: IPMHeaderSelector;
- offset: LONGINT;
- buffer: MailBuffer;
- remaining: LONGINT;
- END;
-
-
- MSAMGetAttributesPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- requestMask: MailAttributeBitmap; { kMailIndicationsBit thru kMailSubjectBit }
- buffer: MailBuffer;
- { buffer returned will contain the attribute values of
- the attributes indicated in responseMask,
- from the attribute indicated by the least significant bit set
- to the attribute indicated by the most significant bit set.
- Note that recipients - from, to, cc, bcc cannot be read using
- this call. Use GetRecipients to read these.
- }
- responseMask: MailAttributeBitmap;
- more: BOOLEAN;
- END;
-
- CONST
- kMailResolvedList = 0; { attrID value to get resolved recipient list }
-
- TYPE
- MailOriginalRecipient = RECORD
- index: INTEGER;
- { Followed by OCEPackedRecipient }
- END;
-
-
-
- MailResolvedRecipient = PACKED RECORD
- index: INTEGER;
- recipientFlags: INTEGER;
- responsible: BOOLEAN;
- padByte: Byte;
- { Followed by OCEPackedRecipient }
- END;
-
-
-
- MSAMGetRecipientsPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- attrID: MailAttributeID; { kMailFromBit thru kMailBccBit }
- startIndex: INTEGER; { starts at 1 }
- buffer: MailBuffer;
- { buffer contains a Mail Reply. Each tuple is a
- MailOriginalRecipient if getting original recipients
- ie the attrID is kMail[From, To, Cc, Bcc]Bit
- MailResolvedRecipient if getting resolved reicpients
- ie the attrID is kMailResolvedList
- Both tuples are word alligned.
- }
- nextIndex: INTEGER;
- more: BOOLEAN;
- END;
-
-
- MSAMGetContentPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- segmentMask: MailSegmentMask;
- buffer: MailBuffer;
- textScrap: ^StScrpRec;
- script: ScriptCode;
- segmentType: MailSegmentType;
- endOfScript: BOOLEAN;
- endOfSegment: BOOLEAN;
- endOfContent: BOOLEAN;
- segmentLength: LONGINT; { NEW: <- valid first call in a segment }
- segmentID: LONGINT; { NEW: <-> identifier for this segment }
- END;
-
-
- MSAMGetEnclosurePB = PACKED RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- contentEnclosure: BOOLEAN;
- padByte: Byte;
- buffer: MailBuffer;
- endOfFile: BOOLEAN;
- endOfEnclosures: BOOLEAN;
- END;
-
-
- MailBlockInfo = RECORD
- blockType: OCECreatorType;
- offset: LONGINT;
- blockLength: LONGINT;
- END;
-
-
- MSAMEnumerateBlocksPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- startIndex: INTEGER; { starts at 1 }
- buffer: MailBuffer;
- { buffer contains a Mail Reply. Each tuple is a MailBlockInfo }
- nextIndex: INTEGER;
- more: BOOLEAN;
- END;
-
-
- MSAMGetBlockPB = PACKED RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- blockType: OCECreatorType;
- blockIndex: INTEGER;
- buffer: MailBuffer;
- dataOffset: LONGINT;
- endOfBlock: BOOLEAN;
- padByte: Byte;
- remaining: LONGINT;
- END;
-
-
- { YOU SHOULD BE USING THE NEW FORM OF MARK RECIPIENTS
- THIS VERSION IS MUCH SLOWER AND KEPT FOR COMPATIBILITY
- REASONS.
- }
-
- MSAMMarkRecipientsPB = RECORD { not valid for tunnel form letters }
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- queueRef: MSAMQueueRef;
- seqNum: LONGINT;
- buffer: MailBuffer;
- { buffer contains a Mail Reply. Each tuple is an unsigned short,
- the index of a recipient to be marked. }
- END;
-
- {
- same as MSAMMarkRecipients except it takes a mailMsgRef instead of
- queueRef, seqNum
- }
-
- MSAMnMarkRecipientsPB = RECORD { not valid for tunnel form letters }
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- buffer: MailBuffer;
- { buffer contains a Mail Reply. Each tuple is an unsigned short,
- the index of a recipient to be marked. }
- END;
-
- {**************************************************************************************}
- MSAMCreatePB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- queueRef: MSAMQueueRef;
- asLetter: BOOLEAN; { indicate if we should create as letter or msg }
- msgType: IPMMsgType; { is msg creator/type if msg, mail type creator o.w. }
- { default for mail should be: kMailAppleMailCreator, }
- { kMailLtrMsgType }
- { OLD: type lttr indicates create letter }
- refCon: LONGINT; { for messages only }
- seqNum: LONGINT; { set if creating message in the inQueue }
- tunnelForm: BOOLEAN; { if true tunnelForm else newForm }
- bccRecipients: BOOLEAN; { true if creating letter with bcc recipients }
- newRef: MailMsgRef;
- END;
-
-
- MSAMBeginNestedPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- refCon: LONGINT; { for messages only }
- msgType: IPMMsgType;
- END;
-
-
- MSAMEndNestedPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- END;
-
-
- MSAMSubmitPB = PACKED RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- submitFlag: BOOLEAN;
- padByte: Byte;
- msgID: MailLetterID;
- END;
-
-
- MSAMPutMsgHeaderPB = PACKED RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- replyQueue: ^OCERecipient;
- sender: ^IPMSender;
- deliveryNotification: IPMNotificationType;
- priority: IPMPriority;
- END;
-
-
- MSAMPutAttributePB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- attrID: MailAttributeID; { kMailIndicationsBit thru kMailSubjectBit }
- buffer: MailBuffer;
- END;
-
-
- MSAMPutRecipientPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- attrID: MailAttributeID; { kMailFromBit thru kMailBccBit }
- recipient: ^MailRecipient;
- responsible: BOOLEAN; { valid for server and message msams only }
- END;
-
-
- MSAMPutContentPB = PACKED RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- segmentType: MailSegmentType;
- append: BOOLEAN;
- padByte: Byte;
- buffer: MailBuffer;
- textScrap: ^StScrpRec;
- startNewScript: BOOLEAN;
- script: ScriptCode; { valid only if startNewScript is true }
- END;
-
-
- MSAMPutEnclosurePB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- contentEnclosure: BOOLEAN;
- padByte: BOOLEAN;
- hfs: BOOLEAN; { true => in file system, false => in memory }
- append: BOOLEAN;
- buffer: MailBuffer; { Unused if hfs == true }
- enclosure: FSSpec;
- addlInfo: MailEnclosureInfo;
- END;
-
-
- MSAMPutBlockPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- refCon: LONGINT; { for messages only }
- blockType: OCECreatorType;
- append: BOOLEAN;
- buffer: MailBuffer;
- mode: MailBlockMode; { if blockType is kMailTunnelLtrType or kMailHopInfoType }
- { mode is assumed to be kMailFromMark }
- offset: LONGINT;
- END;
-
-
- {**************************************************************************************}
- MSAMCreateReportPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- queueRef: MSAMQueueRef; { to distinguish personal and server MSAMs }
- mailMsgRef: MailMsgRef;
- msgID: MailLetterID; { kMailLetterIDBit of letter being reported upon }
- sender: ^MailRecipient; { sender of the letter you are creating report on }
- END;
-
-
- MSAMPutRecipientReportPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailMsgRef: MailMsgRef;
- recipientIndex: INTEGER; { recipient index in the original letter }
- result: OSErr; { result of sending the recipient }
- { Values for result:
- kIPMNoResponsibility
- kIPMNoInformation
- kIPMRecMaybeNotSent
- kIPMRecMaybeSent
- }
- END;
-
- {**************************************************************************************}
-
- MailWakeupPMSAMPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- pmsamCID: CreationID;
- mailSlotID: MailSlotID;
- END;
-
-
- MailCreateMailSlotPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailboxRef: MailboxRef;
- timeout: LONGINT;
- pmsamCID: CreationID;
- smca: SMCA;
- END;
-
-
- MailModifyMailSlotPB = RECORD
- qLink: Ptr;
- reservedH1: LONGINT;
- reservedH2: LONGINT;
- ioCompletion: ProcPtr;
- ioResult: OSErr;
- saveA5: LONGINT;
- reqCode: INTEGER;
-
- mailboxRef: MailboxRef;
- timeout: LONGINT;
- pmsamCID: CreationID;
- smca: SMCA;
- END;
-
-
- {**************************************************************************************}
- CONST
- kPMSAMGetMSAMRecord = 1286;
- kPMSAMOpenQueues = 1280;
- kPMSAMLogError = 1313;
- kPMSAMSetStatus = 1319;
-
- kPMSAMCreateMsgSummary = 1314;
- kPMSAMPutMsgSummary = 1317;
- kPMSAMGetMsgSummary = 1318;
-
- kMailWakeupPMSAM = 1287;
-
- kSMSAMSetup = 1315;
- kSMSAMStartup = 1281;
- kSMSAMShutdown = 1282;
-
- kMSAMEnumerate = 1283;
- kMSAMDelete = 1284;
-
- kMSAMOpen = 1288;
- kMSAMOpenNested = 1289;
- kMSAMClose = 1290;
- kMSAMGetMsgHeader = 1297;
- kMSAMnMarkRecipients = 1298;
-
- kMSAMGetAttributes = 1291;
- kMSAMGetRecipients = 1292;
- kMSAMGetContent = 1293;
- kMSAMGetEnclosure = 1294;
- kMSAMEnumerateBlocks = 1295;
- kMSAMGetBlock = 1296;
- kMSAMMarkRecipients = 1285;
-
- kMSAMCreate = 1300;
- kMSAMBeginNested = 1301;
- kMSAMEndNested = 1302;
- kMSAMSubmit = 1303;
- kMSAMPutMsgHeader = 1309;
- kMSAMPutAttribute = 1304;
- kMSAMPutRecipient = 1305;
- kMSAMPutContent = 1306;
- kMSAMPutEnclosure = 1307;
- kMSAMPutBlock = 1308;
-
- kMSAMCreateReport = 1311;
- kMSAMPutRecipientReport = 1312;
-
- kMailCreateMailSlot = 1323;
- kMailModifyMailSlot = 1324;
-
-
- TYPE
- MSAMParam = RECORD
- CASE INTEGER OF
- 1: (header: MailParamBlockHeader);
- 2: (pmsamGetMSAMRecord: PMSAMGetMSAMRecordPB);
- 3: (pmsamOpenQueues: PMSAMOpenQueuesPB);
- 4: (pmsamSetStatus: PMSAMSetStatusPB);
- 5: (pmsamLogError: PMSAMLogErrorPB);
- 6: (smsamSetup: SMSAMSetupPB);
- 7: (smsamStartup: SMSAMStartupPB);
- 8: (smsamShutdown: SMSAMShutdownPB);
- 9: (msamEnumerate: MSAMEnumeratePB);
- 10: (msamDelete: MSAMDeletePB);
- 11: (msamOpen: MSAMOpenPB);
- 12: (msamOpenNested: MSAMOpenNestedPB);
- 13: (msamClose: MSAMClosePB);
- 14: (msamGetMsgHeader: MSAMGetMsgHeaderPB);
- 15: (msamGetAttributes: MSAMGetAttributesPB);
- 16: (msamGetRecipients: MSAMGetRecipientsPB);
- 17: (msamGetContent: MSAMGetContentPB);
- 18: (msamGetEnclosure: MSAMGetEnclosurePB);
- 19: (msamEnumerateBlocks: MSAMEnumerateBlocksPB);
- 20: (msamGetBlock: MSAMGetBlockPB);
- 21: (msamMarkRecipients: MSAMMarkRecipientsPB);
- 22: (msamnMarkRecipients: MSAMnMarkRecipientsPB);
- 23: (msamCreate: MSAMCreatePB);
- 24: (msamBeginNested: MSAMBeginNestedPB);
- 25: (msamEndNested: MSAMEndNestedPB);
- 26: (msamSubmit: MSAMSubmitPB);
- 27: (msamPutMsgHeader: MSAMPutMsgHeaderPB);
- 28: (msamPutAttribute: MSAMPutAttributePB);
- 29: (msamPutRecipient: MSAMPutRecipientPB);
- 30: (msamPutContent: MSAMPutContentPB);
- 31: (msamPutEnclosure: MSAMPutEnclosurePB);
- 32: (msamPutBlock: MSAMPutBlockPB);
- 33: (msamCreateReport: MSAMCreateReportPB); { Reports and Error Handling Calls }
- 34: (msamPutRecipientReport: MSAMPutRecipientReportPB);
- 35: (pmsamCreateMsgSummary: PMSAMCreateMsgSummaryPB);
- 36: (pmsamPutMsgSummary: PMSAMPutMsgSummaryPB);
- 37: (pmsamGetMsgSummary: PMSAMGetMsgSummaryPB);
- 38: (wakeupPMSAM: MailWakeupPMSAMPB);
- 39: (createMailSlot: MailCreateMailSlotPB);
- 40: (modifyMailSlot: MailModifyMailSlotPB);
- END;
-
-
-
-
- FUNCTION MailCreateMailSlot(VAR paramBlock: MSAMParam): OSErr; { ASYNCHRONOUS ONLY, client must call WaitNextEvent }
- INLINE $7001, $1f00, $3f3c, kMailCreateMailSlot, _oceTBDispatch;
- FUNCTION MailModifyMailSlot(VAR paramBlock: MSAMParam): OSErr; { ASYNCHRONOUS ONLY, client must call WaitNextEvent }
- INLINE $7001, $1f00, $3f3c, kMailModifyMailSlot, _oceTBDispatch;
- FUNCTION MailWakeupPMSAM(VAR paramBlock: MSAMParam): OSErr; { ASYNCHRONOUS ONLY, client must call WaitNextEvent }
- INLINE $7001, $1f00, $3f3c, kMailWakeupPMSAM, _oceTBDispatch;
-
- { Personal MSAM Glue Routines }
- FUNCTION PMSAMOpenQueues(VAR paramBlock: MSAMParam): OSErr;
- INLINE $7000, $1f00, $3f3c, kPMSAMOpenQueues, _oceTBDispatch;
- FUNCTION PMSAMSetStatus(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kPMSAMSetStatus, _oceTBDispatch;
- FUNCTION PMSAMGetMSAMRecord(VAR paramBlock: MSAMParam): OSErr; { SYNC ONLY }
- INLINE $7000, $1f00, $3f3c, kPMSAMGetMSAMRecord, _oceTBDispatch;
-
- { Server MSAM Glue Routines }
- FUNCTION SMSAMSetup(VAR paramBlock: MSAMParam): OSErr; { SYNC ONLY }
- INLINE $7000, $1f00, $3f3c, kSMSAMSetup, _oceTBDispatch;
- FUNCTION SMSAMStartup(VAR paramBlock: MSAMParam): OSErr; { SYNC ONLY }
- INLINE $7000, $1f00, $3f3c, kSMSAMStartup, _oceTBDispatch;
- FUNCTION SMSAMShutdown(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kSMSAMShutdown, _oceTBDispatch;
-
- { Get Interface Glue Routines }
- FUNCTION MSAMEnumerate(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMEnumerate, _oceTBDispatch;
- FUNCTION MSAMDelete(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMDelete, _oceTBDispatch;
- FUNCTION MSAMMarkRecipients(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMMarkRecipients, _oceTBDispatch;
- FUNCTION MSAMnMarkRecipients(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMnMarkRecipients, _oceTBDispatch;
-
- FUNCTION MSAMOpen(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMOpen, _oceTBDispatch;
- FUNCTION MSAMOpenNested(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMOpenNested, _oceTBDispatch;
- FUNCTION MSAMClose(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMClose, _oceTBDispatch;
-
- FUNCTION MSAMGetRecipients(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMGetRecipients, _oceTBDispatch;
- FUNCTION MSAMGetAttributes(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMGetAttributes, _oceTBDispatch;
- FUNCTION MSAMGetContent(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMGetContent, _oceTBDispatch;
- FUNCTION MSAMGetEnclosure(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMGetEnclosure, _oceTBDispatch;
- FUNCTION MSAMEnumerateBlocks(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMEnumerateBlocks, _oceTBDispatch;
- FUNCTION MSAMGetBlock(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMGetBlock, _oceTBDispatch;
- FUNCTION MSAMGetMsgHeader(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMGetMsgHeader, _oceTBDispatch;
-
- { Put Interface Glue Routines }
- FUNCTION MSAMCreate(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMCreate, _oceTBDispatch;
- FUNCTION MSAMBeginNested(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMBeginNested, _oceTBDispatch;
- FUNCTION MSAMEndNested(VAR paramBlock: MSAMParam): OSErr;
- INLINE $7000, $1f00, $3f3c, kMSAMEndNested, _oceTBDispatch;
- FUNCTION MSAMSubmit(VAR paramBlock: MSAMParam): OSErr;
- INLINE $7000, $1f00, $3f3c, kMSAMSubmit, _oceTBDispatch; { SYNCHRONOUS ONLY }
-
- FUNCTION MSAMPutAttribute(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMPutAttribute, _oceTBDispatch;
- FUNCTION MSAMPutRecipient(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMPutRecipient, _oceTBDispatch;
- FUNCTION MSAMPutContent(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMPutContent, _oceTBDispatch;
- FUNCTION MSAMPutEnclosure(VAR paramBlock: MSAMParam): OSErr;
- INLINE $7000, $1f00, $3f3c, kMSAMPutEnclosure, _oceTBDispatch; { SYNCHRONOUS ONLY }
- FUNCTION MSAMPutBlock(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMPutBlock, _oceTBDispatch;
- FUNCTION MSAMPutMsgHeader(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMPutMsgHeader, _oceTBDispatch;
-
- { Reports and Error Handling Glue Routines }
- FUNCTION MSAMCreateReport(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMCreateReport, _oceTBDispatch;
- FUNCTION MSAMPutRecipientReport(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kMSAMPutRecipientReport, _oceTBDispatch;
- FUNCTION PMSAMLogError(VAR paramBlock: MSAMParam): OSErr;
- INLINE $7000, $1f00, $3f3c, kPMSAMLogError, _oceTBDispatch;
-
- { MsgSummary Glue Routines }
- FUNCTION PMSAMCreateMsgSummary(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kPMSAMCreateMsgSummary, _oceTBDispatch;
- FUNCTION PMSAMPutMsgSummary(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kPMSAMPutMsgSummary, _oceTBDispatch;
- FUNCTION PMSAMGetMsgSummary(VAR paramBlock: MSAMParam; asyncFlag: BOOLEAN): OSErr;
- INLINE $3f3c, kPMSAMGetMsgSummary, _oceTBDispatch;
-
-
-
- {$ENDC} { UsingOCEMail }
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-